package com.mangowang.lib.common.util;

import android.content.Context;
import android.util.Log;

import com.tencent.mmkv.MMKV;


public class MMKVUtil {


    /**
     * 获取缓存登录用户信息
     */
    public static <T> T getBean(String key, Class<T> type) {
          String  beanString =  MMKV.defaultMMKV().decodeString(key,"");
          return GsonUtils.jsonToBean(beanString,type);
    }



    /**
     * 写入Bean
     */
    public static void setBean(String key, Object object) {
            MMKV.defaultMMKV().encode(key, GsonUtils.serializedToJson(object));
    }




    /**
     * 写入字符串型数据
     */
    public static void setString(String key, String value) {
        MMKV.defaultMMKV().encode(key, value);

    }

    /**
     * 获取字符串型数据
     */
    public static String getString(String key) {

            return MMKV.defaultMMKV().decodeString(key,"");
    }

    /**
     * 写入整型数据
     */
    public static void setInteger(String key, int value) {

        MMKV.defaultMMKV().encode(key, value);

    }

    /**
     * 获取整型数据
     */
    public static Integer getInteger(String key) {

            return MMKV.defaultMMKV().decodeInt(key,-1);

    }

    /**
     * 写入布尔型数据
     */
    public static void setBoolean(String key, boolean value) {

        MMKV.defaultMMKV().encode(key, value);
    }

    /**
     * 获取布尔型数据
     */
    public static boolean getBoolean(String key) {

    return   MMKV.defaultMMKV().decodeBool(key,true);

    }

    /**
     * 写入长整型数据
     */
    public static void setLong(String key, long value) {
            MMKV.defaultMMKV().encode(key, value);
    }

    /**
     * 获取长整型数据
     */
    public static long getLong(String key) {
            return MMKV.defaultMMKV().decodeLong(key,-1);

    }

    public static boolean contains(String key) {
            return MMKV.defaultMMKV().contains(key);

    }
}
